package sys_mod

// SysModSaveReq 新增模块请求的结构体
type SysModSaveReq struct {
	ModId    string `json:"modId"`
	ModName  string `json:"modName" v:"模块名称,string,min=1,max=50"`
	ModCode  string `json:"modCode" v:"模块编码,string,min=8,max=8"`
	ParentId string `json:"parentId" v:"父模块,string,min=21,max=21"`
	Sort     uint32 `json:"sort" v:"模块排序,number,min=1"`
	ModPos   string `json:"modPos" v:"模块面包屑,string,min=1,max=85"`
	Url      string `json:"url"`
	Showed   uint8  `json:"showed"`
}

// SysModExtVo 判断模块重复编码请求的结构体
type SysModExtVo struct {
	ModId   string `json:"modId"`
	ModCode string `json:"modCode"`
}

// SysModDelsReq 删除模块请求的结构体
type SysModDelsReq struct {
	ModIds string `json:"modIds" v:"模块编号,string,min=21"`
}

// SysModListRes 获取树状模块列表的结构体
type SysModListRes struct {
	ModId    string          `json:"modId"`
	ModName  string          `json:"modName"`
	ModCode  string          `json:"modCode"`
	Url      string          `json:"url"`
	Showed   uint8           `json:"showed"`
	ModPos   string          `json:"modPos"`
	ModLevel uint8           `json:"modLevel"`
	ParentId string          `json:"parentId"`
	Sort     uint32          `json:"sort"`
	BtnList  []*SysBtnSelRes `json:"btnList"`
}

// SysModTreeRes 获取树状模块列表的结构体
type SysModTreeRes struct {
	SelId    string           `json:"selId"`
	SelName  string           `json:"selName"`
	SelCode  string           `json:"selCode"`
	SelPid   string           `json:"selPid"`
	Chked    bool             `json:"chked"`
	Children []*SysModTreeRes `json:"children"`
}

// SysModMenuRes 返回树状的模块结构体
type SysModMenuRes struct {
	ModId    string           `json:"modId"`
	ModName  string           `json:"modName"`
	Url      string           `json:"url"`
	ModPos   string           `json:"modPos"`
	Actived  bool             `json:"actived"`
	Icon     string           `json:"icon"`
	ParentId string           `json:"parentId"`
	Children []*SysModMenuRes `json:"children"`
}

// SysModSelRes 获取模块选择的返回结构体
type SysModSelRes struct {
	ModId    string `json:"modId"`
	ParentId string `json:"parentId"`
}
